//    Copyright 2009 - 2012 Toddy
//
//    This file is part of Toddtris.
//
//    Toddtris is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    Toddtris is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with Toddtris.  If not, see <http://www.gnu.org/licenses/>.

// Class automatically generated by Dev-C++ New Class wizard

#ifndef TIMER_H
#define TIMER_H

/*
 * No description
 */
namespace com {
	namespace themightystags {
		namespace util {
			class Timer {

			// instances of this class cannot be copied
			// and should be passed by reference
			private:
				Timer(const Timer& object);
				Timer& operator=(const Timer& object);

			public:
				// class constructor
				Timer();
				// class destructor
				~Timer();

				void reset();
				void pause();
				void unPause();
				long getElapsedMilliseconds() const;
				bool isTimeoutReached() const;
				void setTimeout(long ms);

			private:
				long fromTime;
				long pauseTime;
				bool isPaused;
				bool isTimeoutSet;
				long timeoutTime;
				static long currentTime();
			};
		}
	}
}
#endif // TIMER_H
